from zope.interface import Interface
from zope.interface.common.mapping import IMapping, IIterableMapping

class IDict(IMapping, IIterableMapping):
	def clear():
		""" Clear entire mapping
		"""
	def update(E, **D):
		""" Update mapping from keys from E and then from D
		"""
	def createValue(key):
		""" Creates new value for key or list item
		"""
	def newValue(key):
		""" Creates new value for key or list item
		"""
	def updateKeyMapping(E, **D):
		""" Update key mapping from keys 
		"""
		pass
	def realkey(key):
		pass
	def addAllowed(*keys):
		pass
	def delAllowed(*keys):
		pass
	def addReadonly(*keys):
		pass
	def delReadonly(*keys):
		pass
	def keyAllowed(key):
		pass
	def keyReadonly(key):
		pass
	def keyValid(key):
		pass

class IList(Interface):
	def __iter__():
		pass
	def __len__():
		pass
	def newItem(data):
		pass

class IFilter(Interface):
	def filterInto(key, data):
		pass
	def filterOut(key, data):
		pass

del IMapping
del IIterableMapping
del Interface
